// 根据对象值排序 {a:2,b:1,c:3}

function ObjectValuesSort(obj) {
    let newObj = {}
    let map = new Map()
    for (let key in obj) {
        map.set(key, obj[key])
    }
    const map2 = Array.from(map).sort((a, b) => b[1] - a[1])
    for (let [key, value] of map2) {
        newObj[key] = value
    }
    return newObj

}
console.log(ObjectValuesSort({ a: 2, b: 1, c: 3 }));



// 更简便的方式
function ObjectValuesSort(obj, ascending = true) {
    // 将对象转换为键值对数组
    let entries = Object.entries(obj);
    
    // 根据值进行排序，
    entries.sort((a, b) => a[1] - b[1] );
    
    // 将排序后的键值对数组转换回对象
    return Object.fromEntries(entries);
}

// 测试升序排序
console.log(ObjectValuesSort({ a: 2, b: 1, c: 3 })); // 输出: { b: 1, a: 2, c: 3 }

// 测试降序排序
